1. Field of the Invention
The present invention relates to computer implemented methods and network architectures for loosely coupling dissimilar applications, such as relational and object-oriented applications in an object broker-based messaging system.
2. Description of the Related Art
Applications may be coupled to a database system and to other applications in a network. Such coupling may take the form of a point-to-point connection of each application to each other application with which it must communicate. However, such a point-to-point integration requires that each application package its communications into a form acceptable to the intended recipient. This, in turn, requires that each application store the communication requirements of each other application with which it may need to exchange information. Adding a new application to the network then becomes a time consuming and complicated undertaking, as the new application must be modified to enable it to communicate with each of the other applications on the network. Moreover, all existing applications must also be modified to enable them to communicate with the newly added application.
To attempt to overcome some of these disadvantages, object broker-based standards have evolved, such as the Common Object Request Broker (CORBA) standard. In networks implementing such a standard, an object broker acts as a central hub and manages communications between the different application systems coupled thereto.
However, even when the hub and spoke network architecture inherent in CORBA is implemented, applications of different types may not be able to communicate with one another or may not be able to communicate with one another to full advantage. For example, integration of object-oriented and relational applications has generally not been attempted, as relational applications, by their very nature, lack the ability to encapsulate the necessary functionality into their communications to take full advantage of the capabilities of object-oriented applications.
What is needed, therefore, are methods and network architectures that allow disparate types of applications to be added to the network with ease, in a manner that allows full communication between all applications coupled to the network. What are also needed are methods and network architectures that avoid the aforementioned disadvantages of point-to-point integration of applications. Moreover, what are also needed are methods of coupling dissimilar applications, such as relational and object-oriented applications, to a common network. Such methods and network architectures should, moreover, make advantageous use of any existing resources within the applications without, however, becoming overly dependent upon the characteristics of any one application coupled to the network.
It is, therefore, an object of the present invention to provide methods and network architectures that allow disparate types of applications to be added to the network with ease, in a manner that allows full communication between all applications coupled to the network. A further object of the present invention is to provide methods and network architectures that avoid the aforementioned disadvantages of point-to-point integration of applications. A still further object of the present invention is to provide methods of coupling dissimilar application systems, such as relational and object-oriented systems, to a common network. In accordance with the above-described objects and those that will be mentioned and will become apparent below, a method of loosely coupling object and non-object oriented applications in a network, according to an embodiment of the present invention, comprises the steps of switching an incoming message toward at least one selected application coupled to the network; and routing, for each selected application, the incoming message to a selected business object according to predetermined rules associated with a type of the incoming message. The business object includes a high level application program interface (API), business logic and at least one low level API, the high level API performing a business function of the business object by invoking at least one selected low level API within the selected application.
The present invention may also be viewed as a loosely coupled network of applications, comprising an object broker, the object broker receiving and distributing messages over the network; at least one switching means coupled to the object broker, the switching means storing a plurality of rules adapted to respond to business information embedded within the distributed messages and to switch the distributed messages toward selected applications; and a high level application program interface (API) disposed between each switching means and each application coupled to the network, each high level API being configured to transform the switched messages to a format appropriate to the selected applications.